My Project
Loading...
Searching...
No Matches
jktypes.h
1
5#ifndef _JHTYPES_H_
6#define _JHTYPES_H_
7
8#define TRUE 1
9#define FALSE 0
10#include <stdio.h>
11#include <stdint.h>
12
13typedef int BOOL; //布尔类型
14typedef int JKHD; //机械臂控制句柄类型
15typedef int errno_t; //接口返回值类型
16
20typedef struct
21{
22 double x;
23 double y;
24 double z;
26
30typedef struct
31{
32 double rx;
33 double ry;
34 double rz;
35} Rpy;
36
40typedef struct
41{
42 double s;
43 double x;
44 double y;
45 double z;
47
51typedef struct
52{
56
66
70typedef enum
71{
72 PROGRAM_IDLE,
73 PROGRAM_RUNNING,
74 PROGRAM_PAUSED
75} ProgramState;
76
80typedef enum
81{
82 COORD_BASE,
83 COORD_JOINT,
84 COORD_TOOL
85} CoordType;
86
90typedef enum
91{
92 ABS = 0,
93 INCR,
94 CONTINUE
95} MoveMode;
96
100typedef struct
101{
107 double instCurrent[6];
108 double instVoltage[6];
109 double instTemperature[6];
111
115typedef struct
116{
117 double mass;
119} PayLoad;
120
124typedef struct
125{
126 double jVal[6];
127} JointValue;
128
132typedef struct{
133 int collisionMethod;
134 int reactionType;
135 float reboundAngle;
137
141typedef enum {
142 CollitionOption_ALL,
143 CollitionOption_Method,
144 CollitionOption_ReactionType,
145 CollitionOption_ReboundAngle
146}CollisionOptionSettingType;
147
151typedef enum
152{
153 IO_CABINET,
154 IO_TOOL,
155 IO_EXTEND,
156 IO_REALY,
157 IO_MODBUS_SLAVE,
158 IO_PROFINET_SLAVE,
159 IO_EIP_SLAVE
160} IOType;
161
165typedef struct
166{
167 BOOL estoped;
170} RobotState;
171
175typedef void (*CallBackFuncType)(int);
176
184typedef struct
185{
186 double instCurrent;
187 double instVoltage;
189 double instVel;
190 double instTorq;
192
196typedef struct
197{
198 int din[256];
199 int dout[256];
200 float ain[256];
201 float aout[256];
202} Io_group;
203
207typedef struct
208{
214 JointMonitorData jointMonitorData[6];
216
220typedef struct
221{
222 char ip[20];
223 int port;
225 int status;
227 double actTorque[6];
228 double torque[6];
229 double realTorque[6];
231
235typedef struct
236{
238 int inpos;
241 double rapidrate;
244 int dout[256];
245 int din[256];
246 double ain[256];
247 double aout[256];
248 int tio_dout[16];
249 int tio_din[16];
250 double tio_ain[16];
251 int tio_key[3];
256 unsigned int current_tool_id;
257 double cartesiantran_position[6];
258 double joint_position[6];
259 unsigned int on_soft_limit;
260 unsigned int current_user_id;
266
270typedef struct
271{
272 long code;
273 char message[120];
274} ErrorCode;
275
279typedef struct
280{
283 double vel;
284 double acc;
286
287#define MaxLength 256
291typedef struct
292{
293 int len;
294 char name[MaxLength][MaxLength];
296
300typedef struct
301{
304
308typedef enum
309{
310 MOT_KEEP,
311 MOT_PAUSE,
312 MOT_ABORT
313} ProcessType;
314
318typedef struct
319{
320 int opt;
321 double ft_user;
322 double ft_rebound;
323 double ft_constant;
326
330typedef struct
331{
332 AdmitCtrlType admit_ctrl[6];
334
342typedef struct
343{
344 int vc_level; //速度柔顺控制等级
345 double rate1; //比率1等级
346 double rate2; //比率2等级
347 double rate3; //比率3等级
348 double rate4; //比率4等级
349} VelCom;
350
354typedef struct
355{
356 double fx; // 沿x轴受力分量
357 double fy; // 沿y轴受力分量
358 double fz; // 沿z轴受力分量
359 double tx; // 绕x轴力矩分量
360 double ty; // 绕y轴力矩分量
361 double tz; // 绕z轴力矩分量
362} FTxyz;
363
368{
369 const char *filename;
370 FILE *stream;
371};
372
376typedef struct
377{
378 double alpha[6];
379 double a[6];
380 double d[6];
381 double joint_homeoff[6];
382} DHParam;
383
387typedef struct
388{
389 char sig_name[20];//标识名
390 int chn_id; //RS485通道ID
391 int sig_type; //信号量类型
392 int sig_addr; //寄存器地址
393 int value; //值 设置时无效
394 int frequency; //信号量在控制器内部刷新频率不大于10
395}SignInfo;
396
400typedef struct
401{
402 int chn_id; //RS485通道ID 查询时chn_id作为输入参数
403 int slaveId; //当通道模式设置为Modbus RTU时,需额外指定Modbus从站节点ID,其余模式可忽略
404 int baudrate; //波特率4800,9600,14400,19200,38400,57600,115200,230400
405 int databit; //数据位7,8
406 int stopbit; //停止位1,2
407 int parity; //校验位78-> 无校验 79->奇校验 69->偶校验
409
410#endif
柔顺控制参数类型
Definition jktypes.h:319
double ft_constant
恒力
Definition jktypes.h:323
double ft_user
用户用多大的力才能让机器人的沿着某个方向以最大速度进行运动
Definition jktypes.h:321
int ft_normal_track
法向跟踪是否开启,0为没有开启,1为开启
Definition jktypes.h:324
int opt
柔顺方向,可选值为 1 2 3 4 5 6分别对应 fx fy fz mx my mz,0代表没有勾选
Definition jktypes.h:320
double ft_rebound
回弹力:机器人回到初始状态的能力
Definition jktypes.h:322
笛卡尔空间位姿类型
Definition jktypes.h:52
CartesianTran tran
笛卡尔空间位置
Definition jktypes.h:53
Rpy rpy
笛卡尔空间姿态
Definition jktypes.h:54
笛卡尔空间位置数据类型
Definition jktypes.h:21
double z
z轴坐标,单位mm
Definition jktypes.h:24
double x
x轴坐标,单位mm
Definition jktypes.h:22
double y
y轴坐标,单位mm
Definition jktypes.h:23
collision option
Definition jktypes.h:132
DH参数
Definition jktypes.h:377
机器人错误码数据类型
Definition jktypes.h:271
long code
错误码编号
Definition jktypes.h:272
力传感器的受力分量和力矩分量
Definition jktypes.h:355
ftp文件数据类型
Definition jktypes.h:368
EXtio数据
Definition jktypes.h:197
机器人力矩前馈数据
Definition jktypes.h:185
double instTorq
瞬时力矩
Definition jktypes.h:190
double instVel
瞬时速度 控制器1.7.0.20及以上
Definition jktypes.h:189
double instVoltage
瞬时电压
Definition jktypes.h:187
double instCurrent
瞬时电流
Definition jktypes.h:186
double instTemperature
瞬时温度
Definition jktypes.h:188
关节位置数据类型
Definition jktypes.h:125
rs485RTU配置参数
Definition jktypes.h:401
多个字符串存储数据类型
Definition jktypes.h:292
int len
字符串个数
Definition jktypes.h:293
运动参数可选项
Definition jktypes.h:301
int executingLineId
控制命令id编号
Definition jktypes.h:302
负载数据类型
Definition jktypes.h:116
CartesianTran centroid
负载质心, 单位:mm
Definition jktypes.h:118
double mass
负载质量,单位:kg
Definition jktypes.h:117
四元数姿态数据类型
Definition jktypes.h:41
机器人柔顺控制参数类型
Definition jktypes.h:331
机器人监测数据
Definition jktypes.h:208
double scbMinorVersion
scb小版本号
Definition jktypes.h:210
double robotAverageCurrent
机器人平均电流
Definition jktypes.h:213
double scbMajorVersion
scb主版本号
Definition jktypes.h:209
double robotAveragePower
机器人平均电压
Definition jktypes.h:212
double cabTemperature
控制器温度
Definition jktypes.h:211
机器人状态数据
Definition jktypes.h:166
BOOL servoEnabled
是否使能
Definition jktypes.h:169
BOOL poweredOn
是否打开电源
Definition jktypes.h:168
BOOL estoped
是否急停
Definition jktypes.h:167
机器人状态监测数据,使用get_robot_status函数更新机器人状态数据
Definition jktypes.h:236
RobotMonitorData robot_monitor_data
机器人状态监测数据
Definition jktypes.h:262
unsigned int current_tool_id
机器人目前使用的工具坐标系id
Definition jktypes.h:256
unsigned int current_user_id
机器人目前使用的用户坐标系id
Definition jktypes.h:260
int enabled
机器人是否使能标志,0为没有使能,1为使能
Definition jktypes.h:240
int protective_stop
机器人是否检测到碰撞,0为没有检测到碰撞,1为检测到碰撞
Definition jktypes.h:242
Io_group modbus_slave
机器人Modbus从站
Definition jktypes.h:253
int inpos
机器人运动是否到位标志,0为没有到位,1为运动到位
Definition jktypes.h:238
Io_group eip_slave
机器人Ethernet/IP从站
Definition jktypes.h:255
int emergency_stop
机器人是否急停,0为没有急停,1为急停
Definition jktypes.h:243
int errcode
机器人运行出错时错误编号,0为运行正常,其它为运行异常
Definition jktypes.h:237
unsigned int on_soft_limit
机器人是否处于限位,0为没有触发限位保护,1为触发限位保护
Definition jktypes.h:259
int drag_status
机器人是否处于拖拽状态,0为没有处于拖拽状态,1为处于拖拽状态
Definition jktypes.h:261
int powered_on
机器人是否上电标志,0为没有上电,1为上电
Definition jktypes.h:239
int is_socket_connect
sdk与控制器连接通道是否正常,0为连接通道异常,1为连接通道正常
Definition jktypes.h:264
Io_group extio
机器人外部应用IO
Definition jktypes.h:252
TorqSensorMonitorData torq_sensor_monitor_data
机器人力矩传感器状态监测数据
Definition jktypes.h:263
Io_group profinet_slave
机器人Profinet从站
Definition jktypes.h:254
double rapidrate
机器人运动倍率
Definition jktypes.h:241
旋转矩阵数据类型
Definition jktypes.h:61
CartesianTran z
z轴列分量
Definition jktypes.h:64
CartesianTran x
x轴列分量
Definition jktypes.h:62
CartesianTran y
y轴列分量
Definition jktypes.h:63
欧拉角姿态数据类型
Definition jktypes.h:31
double rz
绕固定轴Z旋转角度,单位:rad
Definition jktypes.h:34
double rx
绕固定轴X旋转角度,单位:rad
Definition jktypes.h:32
double ry
绕固定轴Y旋转角度,单位:rad
Definition jktypes.h:33
rs485信号量参数
Definition jktypes.h:388
系统监测数据类型
Definition jktypes.h:101
double robotAverageCurrent
控制柜总线平均电流
Definition jktypes.h:106
double robotAveragePower
控制柜总线平均功率
Definition jktypes.h:105
int cabTemperature
控制柜温度
Definition jktypes.h:104
int scbMajorVersion
scb主版本号
Definition jktypes.h:102
int scbMinorVersion
scb次版本号
Definition jktypes.h:103
力矩传感器监测数据
Definition jktypes.h:221
PayLoad payLoad
工具负载
Definition jktypes.h:224
int errcode
力矩传感器异常错误码
Definition jktypes.h:226
int status
力矩传感器状态
Definition jktypes.h:225
int port
力矩传感器端口号
Definition jktypes.h:223
轨迹复现配置参数存储数据类型
Definition jktypes.h:280
double xyz_interval
空间位置采集精度
Definition jktypes.h:281
double vel
执行脚本运行速度
Definition jktypes.h:283
double rpy_interval
姿态采集精度
Definition jktypes.h:282
double acc
执行脚本运行加速度
Definition jktypes.h:284
速度柔顺控制等级和比率等级设置 速度柔顺控制分三个等级,并且 1>rate1>rate2>rate3>rate4>0 等级为1时,只能设置rate1,rate2两个等级。rate3,...
Definition jktypes.h:343